package cn.com.cis.domain;

import java.io.Serializable;
import java.util.Date;

public class JobConfig implements Serializable{
	
	public static final String GROUP_NAME = "QUARTZ_GROUP_DEFAULT";

	private static final long serialVersionUID = -3839179466624100410L;

	public static final String SCHEDULE_JOB_NAME_KEY = "SCHEDULE_JOB_NAME_KEY";

	/**
	 * 任务id
	 */
	private int jobId; // in quartz, jobid make by ("" + jobId)

	/**
	 * 任务分组
	 */
	private String jobGroup = GROUP_NAME;

	/**
	 * 任务名称
	 */
	private String jobNameDisplay;

	/**
	 * 任务运行时间表达式
	 */
	private String cronExpression;

	/**
	 * 通过此id可查找到xml文档
	 */
	private Integer etlXmlId;

	/**
	 * 任务状态 false:停用 true:启用
	 */
	private boolean enable;

	/**
	 * 任务状态 1等待调度 2正在执行
	 */
	private int jobStatus;
	
	/**
	 * 被触发时间
	 */
	private Date nextExecuteTime;

	/**
	 * 任务描述
	 */
	private String des;
	
	/**
	 * 记录启动此作业的用户
	 * */
	private int setupUserId;

	public int getJobId() {
		return jobId;
	}

	public void setJobId(int jobId) {
		this.jobId = jobId;
	}

	public String getJobGroup() {
		return jobGroup;
	}

	public void setJobGroup(String jobGroup) {
		this.jobGroup = jobGroup;
	}

	public String getJobNameDisplay() {
		return jobNameDisplay;
	}

	public void setJobNameDisplay(String jobNameDisplay) {
		this.jobNameDisplay = jobNameDisplay;
	}

	public String getCronExpression() {
		return cronExpression;
	}

	public void setCronExpression(String cronExpression) {
		this.cronExpression = cronExpression;
	}

	public Integer getEtlXmlId() {
		return etlXmlId;
	}

	public void setEtlXmlId(Integer etlXmlId) {
		this.etlXmlId = etlXmlId;
	}

	public boolean isEnable() {
		return enable;
	}

	public void setEnable(boolean enable) {
		this.enable = enable;
	}

	public int getJobStatus() {
		return jobStatus;
	}

	public void setJobStatus(int jobStatus) {
		this.jobStatus = jobStatus;
	}

	public String getDes() {
		return des;
	}

	public void setDes(String des) {
		this.des = des;
	}

	public Date getNextExecuteTime() {
		return nextExecuteTime;
	}

	public void setNextExecuteTime(Date nextExecuteTime) {
		this.nextExecuteTime = nextExecuteTime;
	}

	public int getSetupUserId() {
		return setupUserId;
	}

	public void setSetupUserId(int setupUserId) {
		this.setupUserId = setupUserId;
	}
}